/*
	Copyright (c) 2011 Canadensys
*/
package net.canadensys.dataportal.vascan.config;

import java.util.Properties;

/**
 * Interface to allow an abstraction layer on the Installation configuration.
 * This allows to handle configuration differently if needed.
 */
public interface InstallationConfigIF {
	public static final String INSTALLATION_DIR_KEY = "InstallationDir";
	
	/**
	 * Getter of the filename that holds the configuration handled by the class.
	 * @return
	 */
	public String getInstallationConfigFileName();
	
	/**
	 * Initialize the InstallationConfig from a webAppFolder and Properties.
	 * This function should set the property INSTALLATION_DIR_KEY in the Properties object.
	 * This method will only keeps known configurations.
	 * @param webappFolder 
	 * @param prop
	 */
	public void init(String webappFolder, Properties prop);
	
	/**
	 * Getter for a specific configuration
	 * @param key use the ..._KEY constants of the parent class.
	 * @return the value or null is the key is not present
	 */
	public String get(String key);
}
